package $1_1basic;

/**
 * 
 * @author Sean
 * 浮点数
 * 浮点数常常无法精确表示。
 */

public class FloatClass {
	public static void main(String[] args) {
		/*
		 * 浮点数0.1在计算机中就无法精确表示，因为十进制的0.1换算成二进制是一个无限循环小数，很显然，无论使用float还是double，都只能存储一个0.1的近似值。但是，0.5这个浮点数又可以精确地表示。
		 * 因为浮点数常常无法精确表示，因此，浮点数运算会产生误差
		 */
		double x = 1.0 / 10;
	    double y = 1 - 9.0 / 10;
	    // 观察x和y是否相等:
	    System.out.println(x);
	    System.out.println(y);
	    
	    //四舍五入，可以对浮点数加上0.5再强制转型
	    double d = 2.6;
        int n = (int) (d + 0.5);
        System.out.println(n);
        
        double e = 2.1;
        int m = (int) (e + 0.5);
        System.out.println(m);
	    
	}
}
